<?php
abstract class Zeus_Core_Model_Object
{

	// TODO: original data object to provide data rollbacks

	/**
	 * Object delete flag
	 *
	 * @var boolean
	 */
	protected $isDeleted = false;

	/**
	 * Sets or gets the delete flag for the object
	 * if the flag is set or nothing is given.
	 *
	 * @param boolean $bool
	 * @return ZeusLib_Object
	 */
	public function isDeleted($bool = null)
	{
		// Check whether no param is given
		if($bool === null)
		{
			// Return current delete state
			return $this->isDeleted;
		}

		// Set delete state to param
		$this->isDeleted = (boolean)$bool;

		// Return instance
		return $this;
	}

}